package _10_Final;
/**
 * final 是修饰符,表示最后的,最终的
 * 
 * final :
 * 类 : 不能继承
 * 成员方法 : 不能被覆写
 * 修饰的变量 : 不能二次赋值,并且没有默认值,在整个程序的生命周期中,值不能被改变
 * 常量 : 整个程序生命周期中,值都不会被更改/使用 final 修饰的变量就是常量,字面量也就是常量
 * 
 * 分为三种 :
 * 静态常量(final修饰的静态变量,一半是public static final, 由于是公共的和对象没有关系,所以应用较多)
 * 成员常量
 * 局部变量
 * 
 * 所以一般我们把 final 修饰的静态变量叫常量
 * 命名规则 建议全大写,在 eclipse 中使用蓝色\斜体\加粗显示
 * @author lenovo
 * @Date 2020年7月9日
 * @Time 下午7:01:47
 */
public class Final_01 {
	public static final int C = 2;

	final int i = 2;
	// final修饰的变量没有默认值,必须显示赋值

	final int a;

	Final_01(int i) {
		a = i;
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Final_01 f = new Final_01(2);
//		f.i = 3;
		// final 修饰的变量不能被更改
		System.out.println(123);
	}

}

//final class A{
class A {
	// final 修饰的方法不能被重写
	public final void m1() {

	}
}

//final 修饰的类不能被继承
class B extends A {
//	public void m1() {
//		
//	}
}